package com.sky.utils;


import net.sf.cglib.beans.BeanCopier;

import java.util.HashMap;
import java.util.Map;

public class BeanCopierUtils {
    /**
     * BeanCopier缓存
     */
    public static Map<String, BeanCopier> beanCopierCacheMap = new HashMap<String, BeanCopier>();

    public static BeanCopier getBeanCopier(Class source, Class target){
        String key = source.getClasses() + ":" + target.getClasses();
        synchronized (BeanCopierUtils.class){
            if(beanCopierCacheMap.containsKey(key)){
                return beanCopierCacheMap.get(key);
            }else{
                BeanCopier copier = BeanCopier.create(source, target, false);
                beanCopierCacheMap.put(key, copier);

                return copier;
            }
        }

    }
}
